package com.david.reader.txt

import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.Ignore
import androidx.room.PrimaryKey


@Entity(tableName = "txt_pages")
class TxtPage {
    @ColumnInfo(name = "chapter", typeAffinity = ColumnInfo.INTEGER)
    var chapter = 0

    @PrimaryKey(autoGenerate = true)
    @ColumnInfo(name = "page", typeAffinity = ColumnInfo.INTEGER)
    var page = 0

    @ColumnInfo(name = "content", typeAffinity = ColumnInfo.TEXT)
    var content: String? = null

    /**
     * Room会使用这个构造器来存储数据，也就是当你从表中得到Student对象时候，Room会使用这个构造器
     */
    constructor(chapter: Int, page: Int, content: String?) {
        this.chapter = chapter
        this.page = page
        this.content = content
    }

    /**
     * 由于Room只能识别和使用一个构造器，如果希望定义多个构造器，你可以使用Ignore标签，让Room忽略这个构造器
     * 同样，@Ignore标签还可用于字段，使用@Ignore标签标记过的字段，Room不会持久化该字段的数据
     */
    @Ignore
    constructor(chapter: Int, page: Int) {
        this.chapter = chapter
        this.page = page
    }
}